Skip to content

Upgrade GitHub Actions for Node 24 compatibility#326

Closed
salmanmkc wants to merge 1 commit into
opendataloader-project:mainfrom
salmanmkc:upgrade-github-actions-node24
Closed

Upgrade GitHub Actions for Node 24 compatibility#326
salmanmkc wants to merge 1 commit into
opendataloader-project:mainfrom
salmanmkc:upgrade-github-actions-node24

Conversation

@salmanmkc
Copy link
Copy Markdown
Contributor

@salmanmkc salmanmkc commented Mar 20, 2026

Warning

You may currently be seeing a warning like this in your workflow runs:

Node.js 20 actions are deprecated. The following actions are running on Node.js 20
and may not work as expected: actions/checkout@v4, actions/setup-java@v4, actions/setup-node@v4, actions/upload-artifact@v4, actions/download-artifact@v4, actions/github-script@v7.
Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026.
Please check if updated versions of these actions are available that support Node.js 24.
To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment
variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you
can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true.
For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

The exact actions listed will vary per workflow.

Upgrades GitHub Actions to versions that support Node 24, since Node 20 is reaching EOL in April 2026.

Changes

Action Old Version(s) New Version Compare Files
actions/checkout v4 v6 Diff claude-code-review.yml, claude.yml, release.yml, sync-docs.yml, test-benchmark.yml
actions/download-artifact v4 v8 Diff test-benchmark.yml
actions/github-script v7 v8 Diff test-benchmark.yml
actions/setup-java v4 v5 Diff release.yml, test-benchmark.yml
actions/setup-node v4 v6 Diff release.yml, test-benchmark.yml
actions/setup-python v5 v6 Diff release.yml
actions/upload-artifact v4 v7 Diff test-benchmark.yml

Context

Per GitHub's announcement, Node 20 is being deprecated and runners will default to Node 24 starting June 2nd, 2026.

  • Node 20 EOL: April 2026
  • Node 24 becomes default: June 2nd, 2026

Notes

Worth running the workflows on a branch before merging to make sure everything still works.

Summary by CodeRabbit

  • Chores
    • Updated CI/CD infrastructure automation tool versions to enhance build reliability and consistency across testing, benchmarking, and release processes.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Mar 20, 2026

CLA assistant check
All committers have signed the CLA.

Copy link
Copy Markdown
Contributor

@bundolee bundolee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution! All version bumps verified — the target versions exist and are compatible with our current workflow configurations.

Approved and merging.

@bundolee
Copy link
Copy Markdown
Contributor

Thanks for the contribution! The version bumps look good — all targets verified.

There's currently a merge conflict. Could you rebase on main and push again? Then we'll merge right away.

git fetch upstream main
git rebase upstream/main
git push --force-with-lease

@salmanmkc
Copy link
Copy Markdown
Contributor Author

Thanks for the contribution! The version bumps look good — all targets verified.

There's currently a merge conflict. Could you rebase on main and push again? Then we'll merge right away.

git fetch upstream main
git rebase upstream/main
git push --force-with-lease

sure

Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>
@salmanmkc salmanmkc force-pushed the upgrade-github-actions-node24 branch from e5a6a7b to 20e14a0 Compare March 23, 2026 09:53
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 23, 2026

📝 Walkthrough

Walkthrough

GitHub Actions workflow files updated across three workflows to use newer major versions of standard actions: checkout, setup-java, setup-python, setup-node, upload-artifact, download-artifact, and github-script. No changes to step logic, commands, or job control flow.

Changes

Cohort / File(s) Summary
GitHub Actions Version Updates
.github/workflows/release.yml, .github/workflows/sync-docs.yml, .github/workflows/test-benchmark.yml
Updated multiple GitHub Actions to newer major versions: actions/checkout v4→v6, actions/setup-java v4→v5, actions/setup-python v5→v6, actions/setup-node v4→v6, actions/upload-artifact v4→v7, actions/download-artifact v4→v8, and actions/github-script v7→v8. No step logic or workflow behavior modified.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Four versions up, six and five so bright,
Our actions now march into newer light,
No logic bent, just numbers change,
Fresh workflows in a seamless range,
Hopping forward, all is right! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Upgrade GitHub Actions for Node 24 compatibility' directly reflects the main objective: updating GitHub Actions to versions that support Node.js 24 due to EOL concerns. It is clear, specific, and accurately summarizes the primary change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/release.yml:
- Line 23: The workflow now uses actions/checkout@v6 which introduces breaking
changes in credential handling and runtime expectations; either pin back to
actions/checkout@v4 or update the workflow/runners to meet v6 requirements:
ensure the GitHub Actions runner version is >= 2.329.0, that the runner supports
git includeIf (for credentials written to $RUNNER_TEMP), and that any steps
relying on Node runtime meet Node 24 if using v5+ semantics; update the
release.yml reference (uses: actions/checkout@v6) accordingly, and add a short
validation step to exercise authenticated git operations to verify credentials
are correctly handled on your targeted runners.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: beac00ef-03aa-4371-a582-ccea5056c457

📥 Commits

Reviewing files that changed from the base of the PR and between 62e79a2 and 20e14a0.

📒 Files selected for processing (3)
  • .github/workflows/release.yml
  • .github/workflows/sync-docs.yml
  • .github/workflows/test-benchmark.yml

# =================================================================
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

Does actions/checkout v6 exist and what are the breaking changes between v4 and v6?

💡 Result:

Yes, actions/checkout v6 exists. The latest version is v6.0.2, released on 2026-01-09. Breaking changes between v4 and v6: From v4 to v5 (v5.0.0): Updated to Node.js 24 runtime. Requires minimum Actions Runner version v2.327.1. From v5 to v6 (v6.0.0): Changed persist-credentials to store credentials in a separate file under $RUNNER_TEMP instead of directly in the local git config. Uses git includeIf directives so git fetch/push etc. continue to work without workflow changes on GitHub-hosted runners. Requires minimum Actions Runner version v2.329.0 for Docker container actions needing authenticated git commands. Not backward-compatible with older runners or non-GitHub runners without support.

Citations:


Review compatibility with breaking changes in actions/checkout v6.

The upgrade from v4 to v6 includes breaking changes that require verification:

  • Credential handling: v6 stores credentials in a separate file under $RUNNER_TEMP with git includeIf directives instead of directly in git config. This requires Actions Runner v2.329.0+.
  • Runtime: Node.js 24 runtime (v5+).
  • Backward compatibility: Not compatible with older or non-GitHub hosted runners without git includeIf support.

Verify this workflow runs on compatible runner versions and test credential handling if this workflow uses authenticated git operations.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release.yml at line 23, The workflow now uses
actions/checkout@v6 which introduces breaking changes in credential handling and
runtime expectations; either pin back to actions/checkout@v4 or update the
workflow/runners to meet v6 requirements: ensure the GitHub Actions runner
version is >= 2.329.0, that the runner supports git includeIf (for credentials
written to $RUNNER_TEMP), and that any steps relying on Node runtime meet Node
24 if using v5+ semantics; update the release.yml reference (uses:
actions/checkout@v6) accordingly, and add a short validation step to exercise
authenticated git operations to verify credentials are correctly handled on your
targeted runners.

bundolee added a commit that referenced this pull request Mar 24, 2026
Upgrade all GitHub Actions to versions supporting Node.js 24,
ahead of the June 2026 deprecation of Node.js 20 runners.

- actions/checkout v4 → v6
- actions/setup-java v4 → v5
- actions/setup-python v5 → v6
- actions/setup-node v4 → v6
- actions/upload-artifact v4 → v7
- actions/download-artifact v4 → v8
- astral-sh/setup-uv v4 → v7
- pnpm/action-setup v4 → v5
- softprops/action-gh-release v1 → v2

Closes #326, Closes #327

Co-authored-by: Salman Chishti <salmanmkc@users.noreply.github.com>
@bundolee
Copy link
Copy Markdown
Contributor

Thanks again for the contribution — the version bumps were solid and well-documented.

Unfortunately, our CI workflows were significantly rewritten on main since this PR was opened, making a clean rebase impractical. I've incorporated these upgrades in #346 with Co-authored-by credit so your contribution is preserved.

Apologies for the inconvenience, and thanks again!

@bundolee bundolee closed this Mar 24, 2026
bundolee added a commit that referenced this pull request Mar 24, 2026
Upgrade all GitHub Actions to versions supporting Node.js 24,
ahead of the June 2026 deprecation of Node.js 20 runners.

- actions/checkout v4 → v6
- actions/setup-java v4 → v5
- actions/setup-python v5 → v6
- actions/setup-node v4 → v6
- actions/upload-artifact v4 → v7
- actions/download-artifact v4 → v8
- astral-sh/setup-uv v4 → v7
- pnpm/action-setup v4 → v5
- softprops/action-gh-release v1 → v2

Closes #326, Closes #327

Co-authored-by: Salman Chishti <salmanmkc@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants